/// placeholder : "请输入字段标题"
/// placeholderTwo : "待填写者选择"
/// type : 4
/// required : true
/// textInput : "测试单选"
/// textinputplaceholder : "测试单选描述"
/// value : ""
/// borderShow : false
/// attributes : {"timeList":[{"time":"年-月-日 时:分","icon":"tn-icon-success","type":1},{"time":"年-月-日","icon":"tn-icon-success","type":2},{"time":"时:分","icon":"tn-icon-success","type":3}],"timeindex":1,"radioList":[{"name":"A","value":"","icon":"tn-icon-reduce-circle-fill"},{"name":"B","value":"","icon":"tn-icon-reduce-circle-fill"},{"name":"C","value":"","icon":"tn-icon-reduce-circle-fill"},{"name":"D","icon":"tn-icon-reduce-circle-fill"}]}

class OrganizationAnnouncementTemplateCreateDto {
  OrganizationAnnouncementTemplateCreateDto({
      String? placeholder, 
      String? placeholderTwo, 
      num? type, 
      bool? required, 
      String? textInput, 
      String? textinputplaceholder, 
      String? value, 
      bool? borderShow, 
      Attributes? attributes,}){
    _placeholder = placeholder;
    _placeholderTwo = placeholderTwo;
    _type = type;
    _required = required;
    _textInput = textInput;
    _textinputplaceholder = textinputplaceholder;
    _value = value;
    _borderShow = borderShow;
    _attributes = attributes;
}

  OrganizationAnnouncementTemplateCreateDto.fromJson(dynamic json) {
    _placeholder = json['placeholder'];
    _placeholderTwo = json['placeholderTwo'];
    _type = json['type'];
    _required = json['required'];
    _textInput = json['textInput'];
    _textinputplaceholder = json['textinputplaceholder'];
    _value = json['value'];
    _borderShow = json['borderShow'];
    _attributes = json['attributes'] != null ? Attributes.fromJson(json['attributes']) : null;
  }
  String? _placeholder;
  String? _placeholderTwo;
  num? _type;
  bool? _required;
  String? _textInput;
  String? _textinputplaceholder;
  String? _value;
  bool? _borderShow;
  Attributes? _attributes;
OrganizationAnnouncementTemplateCreateDto copyWith({  String? placeholder,
  String? placeholderTwo,
  num? type,
  bool? required,
  String? textInput,
  String? textinputplaceholder,
  String? value,
  bool? borderShow,
  Attributes? attributes,
}) => OrganizationAnnouncementTemplateCreateDto(  placeholder: placeholder ?? _placeholder,
  placeholderTwo: placeholderTwo ?? _placeholderTwo,
  type: type ?? _type,
  required: required ?? _required,
  textInput: textInput ?? _textInput,
  textinputplaceholder: textinputplaceholder ?? _textinputplaceholder,
  value: value ?? _value,
  borderShow: borderShow ?? _borderShow,
  attributes: attributes ?? _attributes,
);
  String? get placeholder => _placeholder;
  String? get placeholderTwo => _placeholderTwo;
  num? get type => _type;
  bool? get required => _required;
  String? get textInput => _textInput;
  String? get textinputplaceholder => _textinputplaceholder;
  String? get value => _value;
  bool? get borderShow => _borderShow;
  Attributes? get attributes => _attributes;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['placeholder'] = _placeholder;
    map['placeholderTwo'] = _placeholderTwo;
    map['type'] = _type;
    map['required'] = _required;
    map['textInput'] = _textInput;
    map['textinputplaceholder'] = _textinputplaceholder;
    map['value'] = _value;
    map['borderShow'] = _borderShow;
    if (_attributes != null) {
      map['attributes'] = _attributes?.toJson();
    }
    return map;
  }

}

/// timeList : [{"time":"年-月-日 时:分","icon":"tn-icon-success","type":1},{"time":"年-月-日","icon":"tn-icon-success","type":2},{"time":"时:分","icon":"tn-icon-success","type":3}]
/// timeindex : 1
/// radioList : [{"name":"A","value":"","icon":"tn-icon-reduce-circle-fill"},{"name":"B","value":"","icon":"tn-icon-reduce-circle-fill"},{"name":"C","value":"","icon":"tn-icon-reduce-circle-fill"},{"name":"D","icon":"tn-icon-reduce-circle-fill"}]

class Attributes {
  Attributes({
      List<TimeList>? timeList, 
      num? timeindex, 
      List<RadioList>? radioList,}){
    _timeList = timeList;
    _timeindex = timeindex;
    _radioList = radioList;
}

  Attributes.fromJson(dynamic json) {
    if (json['timeList'] != null) {
      _timeList = [];
      json['timeList'].forEach((v) {
        _timeList?.add(TimeList.fromJson(v));
      });
    }
    _timeindex = json['timeindex'];
    if (json['radioList'] != null) {
      _radioList = [];
      json['radioList'].forEach((v) {
        _radioList?.add(RadioList.fromJson(v));
      });
    }
  }
  List<TimeList>? _timeList;
  num? _timeindex;
  List<RadioList>? _radioList;
Attributes copyWith({  List<TimeList>? timeList,
  num? timeindex,
  List<RadioList>? radioList,
}) => Attributes(  timeList: timeList ?? _timeList,
  timeindex: timeindex ?? _timeindex,
  radioList: radioList ?? _radioList,
);
  List<TimeList>? get timeList => _timeList;
  num? get timeindex => _timeindex;
  List<RadioList>? get radioList => _radioList;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    if (_timeList != null) {
      map['timeList'] = _timeList?.map((v) => v.toJson()).toList();
    }
    map['timeindex'] = _timeindex;
    if (_radioList != null) {
      map['radioList'] = _radioList?.map((v) => v.toJson()).toList();
    }
    return map;
  }

}

/// name : "A"
/// value : ""
/// icon : "tn-icon-reduce-circle-fill"

class RadioList {
  RadioList({
      String? name, 
      String? value, 
      String? icon,}){
    _name = name;
    _value = value;
    _icon = icon;
}

  RadioList.fromJson(dynamic json) {
    _name = json['name'];
    _value = json['value'];
    _icon = json['icon'];
  }
  String? _name;
  String? _value;
  String? _icon;
RadioList copyWith({  String? name,
  String? value,
  String? icon,
}) => RadioList(  name: name ?? _name,
  value: value ?? _value,
  icon: icon ?? _icon,
);
  String? get name => _name;
  String? get value => _value;
  String? get icon => _icon;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['name'] = _name;
    map['value'] = _value;
    map['icon'] = _icon;
    return map;
  }

}

/// time : "年-月-日 时:分"
/// icon : "tn-icon-success"
/// type : 1

class TimeList {
  TimeList({
      String? time, 
      String? icon, 
      num? type,}){
    _time = time;
    _icon = icon;
    _type = type;
}

  TimeList.fromJson(dynamic json) {
    _time = json['time'];
    _icon = json['icon'];
    _type = json['type'];
  }
  String? _time;
  String? _icon;
  num? _type;
TimeList copyWith({  String? time,
  String? icon,
  num? type,
}) => TimeList(  time: time ?? _time,
  icon: icon ?? _icon,
  type: type ?? _type,
);
  String? get time => _time;
  String? get icon => _icon;
  num? get type => _type;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['time'] = _time;
    map['icon'] = _icon;
    map['type'] = _type;
    return map;
  }

}